//
//  Objc_Name.m
//  testWebView
//
//  Created by ty804 on 04/04/2019.
//  Copyright © 2019 ty804. All rights reserved.
//

#import "Objc_Name.h"

@implementation Objc_Name
//bool
+(NSString *)FUNCTION_MIX_BOOL:(NSString *)MIX_NAME{
    NSArray *arr=@[@"0",@"1"];
    NSString *str=arr[arc4random_uniform([arr count])];
    if ([str isEqualToString:@"1"]) {
        return [NSString stringWithFormat:@"self.%@=YES;",MIX_NAME];
    }
    return [NSString stringWithFormat:@"self.%@=NO;",MIX_NAME];
}
//NSString
+(NSString *)FUNCTION_MIX_NSSTRING:(NSString *)MIX_NAME{
    NSInteger index=2;
    NSString *strName=@"";
    for (int i=0; i<index; i++) {
        NSString *str=[self APPLICATION_FUNCTION_NAME][arc4random_uniform([[self APPLICATION_FUNCTION_NAME] count])];
        strName=[strName stringByAppendingString:str];
    }
    return [NSString stringWithFormat:@"self.%@=%@%@%@;",MIX_NAME,@"@\"",strName,@"\""];
}

//int参数
+(NSString *)FUNCTION_MIX_INT:(NSString *)MIX_NAME{
    
    NSArray*arr= @[
                   [NSString stringWithFormat:@"self.%@=self.%@+self.%@*self.%@-self.%@;",MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"self.%@=self.%@*self.%@*self.%@-self.%@;",MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"self.%@=self.%@*(self.%@+self.%@)+self.%@+self.%@*(self.%@+self.%@)+self.%@;",MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"self.%@=self.%@+self.%@;",MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"self.%@=self.%@-self.%@*self.%@*self.%@;",MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"self.%@=self.%@*self.%@*self.%@*self.%@+self.%@;",MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"self.%@=(self.%@+self.%@)*self.%@-self.%@;",MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"self.%@=self.%@*self.%@*self.%@;",MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"self.%@=self.%@+self.%@*self.%@-self.%@*2;",MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"self.%@=self.%@+self.%@*self.%@-self.%@/2;",MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"self.%@=self.%@+self.%@+self.%@+self.%@+self.%@;",MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"self.%@=self.%@+self.%@*self.%@-self.%@-self.%@;",MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"self.%@=self.%@+1;",MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"self.%@=self.%@+self.%@+self.%@+self.%@-2*self.%@;",MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"self.%@=self.%@+self.%@-self.%@-self.%@+5;",MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"self.%@=self.%@+self.%@*self.%@-self.%@-self.%@-self.%@+5;",MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"self.%@=self.%@+self.%@*self.%@-self.%@-self.%@;",MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"self.%@=self.%@+self.%@*self.%@-self.%@*self.%@+self.%@*self.%@-self.%@;",MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"self.%@=self.%@+self.%@*self.%@-self.%@*self.%@-self.%@;",MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"self.%@=self.%@+self.%@*self.%@+self.%@-self.%@*self.%@+self.%@;",MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"self.%@=self.%@+self.%@*self.%@*self.%@;",MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"self.%@=self.%@*self.%@*self.%@*self.%@;",MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"self.%@=self.%@*self.%@*self.%@*self.%@*self.%@*self.%@;",MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"self.%@=self.%@*self.%@+self.%@*self.%@;",MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"self.%@=self.%@*self.%@-self.%@+self.%@*2;",MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],

                   ];
    return arr[arc4random_uniform([arr count])];
}

+(NSArray *)APPLICATION_BASIS_LETTER{
    return @[@"A",@"B",@"C",@"D",@"E",@"F",@"G",@"H",@"I",@"J",@"K",@"L",@"M",@"N",@"O",@"P",@"Q",@"R",@"S",@"T",@"U",@"V",@"W",@"X",@"Y",@"Z"];
}
+(NSArray *)APPLICATION_CLASS_NAME{
    return @[@"ZYH_",@"SYS_",@"COA_",@"TOP_",@"LEFT_",@"MON_",@"CON_",@"ZZZ_",@"KKK_",@"OPP_",@"AAA_",@"BBB_",@"LOM_",@"CIRCLE_",@"PLUS_",@"MEE_",@"NES_",@"MY_",@"YMD_",@"ALI_",@"TYZ_",@"DAD_",@"REW_",@"EWQ_",@"EQWE_",@"RWEF_",@"WQE_",@"RT_",@"TR_",@"TY_",@"EWQ_",@"EQW_",@"REW_",@"KUJ_",@"FHP_",@"LKJ_",@"PON_",@"POT_",@"PPT_",@"YYB_",@"PMG_",@"DSA_",@"DPS_",@"IJN_",@"IJK_",@"NND_",@"NMB_",@"CNM_",@"MMP_",@"AAD_",@"ADS_",@"PPS_",@"PLL_",@"IJH_",@"IJD_",@"IHA_"];
}

+(NSArray *)APPLICATION_PARAMETER_NAME{
    return @[@"The",@"Fog",@"TR",@"Haode",@"Xitong",@"Lunbotu",@"Shitu",@"Picture",@"Photo",@"Xieyi",@"Text",@"Rich",@"Line",@"Sys",@"Turn",@"Rever", @"Tiaozhuan",@"Control",@"Noname",@"Name",@"Waker",@"Date",@"Weak",@"XML",@"Hob",@"File",@"Function",@"Fanfa",@"Hob",@"COO",@"Program",@"Net",@"Device",@"SheBei",@"Didian",@"People",@"Thing",@"Shijian",@"Shang",@"Shangbao",@"Other",@"Yanse",@"Color",@"Object",@"Animate",@"Dongzuo",@"Word",@"Act",@"Different",@"Plus",@"Sub", @"Age",@"Newer",@"Login",@"Register",@"Huanxiao",@"Length",@"Count",@"Jihuoma",@"Fly",@"Loop",@"Star",@"Get",@"Set",@"Get",@"Set",@"Get",@"Set",@"Get",@"Set",@"Shenhe",@"Read",@"Write",@"Laker",@"Shanghai",@"Some",@"Get",@"Set",@"In",@"This",@"That",@"String",@"Number",@"AAA",@"Main",@"Work",@"Enable",@"Disable",@"Check",@"Ment"];
}

+(NSArray *)APPLICATION_FUNCTION_NAME{
    NSString *path=[[NSBundle mainBundle]pathForResource:@"word" ofType:@"txt"];
    NSString *word=[NSString stringWithContentsOfFile:path encoding:NSUTF8StringEncoding error:nil];
    NSArray *arr=[word componentsSeparatedByString:@"\n"];

    [arr enumerateObjectsUsingBlock:^(NSString *obj, NSUInteger idx, BOOL * _Nonnull stop) {
        *stop=YES;
        obj = [obj stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
        *stop=NO;
    }];
    return arr;
}


//NSString参数 confusion注入代码
+(NSString *)FUNCTION_MIXCONFUSION_NSSTRING:(NSString *)MIX_NAME{
    NSInteger index=2;
    NSString *strName=@"";
    for (int i=0; i<index; i++) {
        NSString *str=[self APPLICATION_FUNCTION_NAME][arc4random_uniform([[self APPLICATION_FUNCTION_NAME] count])];
        strName=[strName stringByAppendingString:str];
    }
    return [NSString stringWithFormat:@"%@=%@%@%@;",MIX_NAME,@"@\"",strName,@"\""];
}


//double参数 confusion注入代码
+(NSString *)FUNCTION_MIX_DOUBLE:(NSString *)MIX_NAME{
    
    int bigNumber = arc4random_uniform(99)+1;
    double smallNumber = bigNumber / 100;
    double number = arc4random_uniform(99)+1 + smallNumber;
    
    NSArray*arr= @[
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@*%@-%@;",MIX_NAME,number,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@*%@*%@-%@;",MIX_NAME,number,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@*(%@+%@)+%@+%@*(%@+%@)+%@;",MIX_NAME,number,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@;",MIX_NAME,number,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@-%@*%@*%@;",MIX_NAME,number,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@*%@*%@*%@+%@;",MIX_NAME,number,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=(%@+%@)*%@-%@;",MIX_NAME,number,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@*%@*%@;",MIX_NAME,number,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@*%@-%@*2;",MIX_NAME,number,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@*%@-%@/2;",MIX_NAME,number,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@+%@+%@+%@;",MIX_NAME,number,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@*%@-%@-%@;",MIX_NAME,number,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+1;",MIX_NAME,number,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@+%@+%@-2*%@;",MIX_NAME,number,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@-%@-%@+5;",MIX_NAME,number,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@*%@-%@-%@-%@+5;",MIX_NAME,number,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@*%@-%@-%@;",MIX_NAME,number,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@*%@-%@*%@+%@*%@-%@;",MIX_NAME,number,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@*%@-%@*%@-%@;",MIX_NAME,number,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@*%@+%@-%@*%@+%@;",MIX_NAME,number,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@*%@*%@;",MIX_NAME,number,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@*%@*%@*%@;",MIX_NAME,number,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@*%@*%@*%@*%@*%@;",MIX_NAME,number,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@*%@+%@*%@;",MIX_NAME,number,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@*%@-%@+%@*2;",MIX_NAME,number,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   ];
    return arr[arc4random_uniform([arr count])];
}



//float参数 confusion注入代码
+(NSString *)FUNCTION_MIX_FLOAT:(NSString *)MIX_NAME{
    
    int number = arc4random_uniform(200)+1;
    float smallNumber = number / 100;
    float valueNumber = arc4random_uniform(99)+1 + smallNumber;
    
    NSArray*arr= @[
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@*%@-%@;",MIX_NAME,valueNumber,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@*%@*%@-%@;",MIX_NAME,valueNumber,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@*(%@+%@)+%@+%@*(%@+%@)+%@;",MIX_NAME,valueNumber,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@;",MIX_NAME,valueNumber,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@-%@*%@*%@;",MIX_NAME,valueNumber,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@*%@*%@*%@+%@;",MIX_NAME,valueNumber,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=(%@+%@)*%@-%@;",MIX_NAME,valueNumber,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@*%@*%@;",MIX_NAME,valueNumber,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@*%@-%@*2;",MIX_NAME,valueNumber,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@*%@-%@/2;",MIX_NAME,valueNumber,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@+%@+%@+%@;",MIX_NAME,valueNumber,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@*%@-%@-%@;",MIX_NAME,valueNumber,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+1;",MIX_NAME,valueNumber,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@+%@+%@-2*%@;",MIX_NAME,valueNumber,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@-%@-%@+5;",MIX_NAME,valueNumber,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@*%@-%@-%@-%@+5;",MIX_NAME,valueNumber,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@*%@-%@-%@;",MIX_NAME,valueNumber,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@*%@-%@*%@+%@*%@-%@;",MIX_NAME,valueNumber,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@*%@-%@*%@-%@;",MIX_NAME,valueNumber,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@*%@+%@-%@*%@+%@;",MIX_NAME,valueNumber,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@+%@*%@*%@;",MIX_NAME,valueNumber,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@*%@*%@*%@;",MIX_NAME,valueNumber,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@*%@*%@*%@*%@*%@;",MIX_NAME,valueNumber,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@*%@+%@*%@;",MIX_NAME,valueNumber,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%f;%@=%@*%@-%@+%@*2;",MIX_NAME,valueNumber,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   ];
    return arr[arc4random_uniform([arr count])];
}

//bool参数 confusion注入代码
+(NSString *)FUNCTION_MIXCONCUSION_BOOL:(NSString *)MIX_NAME{
    NSArray*arr= @[
                   [NSString stringWithFormat:@"%@=%d>%d?FALSE:TRUE;",MIX_NAME,arc4random_uniform(99),arc4random_uniform(99)],
                   [NSString stringWithFormat:@"%@=%d<%d?FALSE:TRUE;",MIX_NAME,arc4random_uniform(99),arc4random_uniform(99)],
                   [NSString stringWithFormat:@"%@=%d>%d?TRUE:FALSE;",MIX_NAME,arc4random_uniform(99),arc4random_uniform(99)],
                   [NSString stringWithFormat:@"%@=%d<%d?TRUE:FALSE;",MIX_NAME,arc4random_uniform(99),arc4random_uniform(99)],
                   [NSString stringWithFormat:@"%@=%d<=%d?TRUE:FALSE;",MIX_NAME,arc4random_uniform(99),arc4random_uniform(99)],
                   [NSString stringWithFormat:@"%@=%d>=%d?TRUE:FALSE;",MIX_NAME,arc4random_uniform(99),arc4random_uniform(99)],
                   [NSString stringWithFormat:@"%@=%d<=%d?FALSE:TRUE;",MIX_NAME,arc4random_uniform(99),arc4random_uniform(99)],
                   [NSString stringWithFormat:@"%@=%d>=%d?TRUE:FALSE;",MIX_NAME,arc4random_uniform(99),arc4random_uniform(99)],
                   [NSString stringWithFormat:@"%@=(%d&%d)>%d?TRUE:FALSE;",MIX_NAME,arc4random_uniform(99),arc4random_uniform(99),arc4random_uniform(99)],
                   [NSString stringWithFormat:@"%@=(%d&%d)<%d?TRUE:FALSE;",MIX_NAME,arc4random_uniform(99),arc4random_uniform(99),arc4random_uniform(99)],
                   [NSString stringWithFormat:@"%@=(%d|%d)>%d?TRUE:FALSE;",MIX_NAME,arc4random_uniform(99),arc4random_uniform(99),arc4random_uniform(99)],
                   [NSString stringWithFormat:@"%@=(%d|%d)<%d?TRUE:FALSE;",MIX_NAME,arc4random_uniform(99),arc4random_uniform(99),arc4random_uniform(99)]
                   ];
    return arr[arc4random_uniform([arr count])];
}

//int参数 confusion注入代码
+(NSString *)FUNCTION_MIXCONFUSION_INT:(NSString *)MIX_NAME{
    
    NSArray*arr= @[
                   [NSString stringWithFormat:@"%@=%d;%@=%@+%@*%@-%@;",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@*%@*%@-%@;",MIX_NAME,arc4random_uniform(199)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@*(%@+%@)+%@+%@*(%@+%@)+%@;",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@+%@;",MIX_NAME,arc4random_uniform(199)+1,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@-%@*%@*%@;",MIX_NAME,arc4random_uniform(199)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@*%@*%@*%@+%@;",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=(%@+%@)*%@-%@;",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@*%@*%@;",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@+%@*%@-%@*2;",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@+%@*%@-(int)(ceilf(%@/2));",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@+%@+%@+%@+%@;",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@+%@*%@-%@-%@;",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@+1;",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@+%@+%@+%@-2*%@;",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@+%@-%@-%@+5;",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@+%@*%@-%@-%@-%@+5;",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@+%@*%@-%@-%@;",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@+%@*%@-%@*%@+%@*%@-%@;",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@+%@*%@-%@*%@-%@;",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@+%@*%@+%@-%@*%@+%@;",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@+%@*%@*%@;",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@*%@*%@*%@;",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@*%@*%@*%@*%@*%@;",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@*%@+%@*%@;",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@*%@-%@+%@*2;",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   
                   
                   [NSString stringWithFormat:@"%@=%d;%@=%@/%@+(%@+%@)*2;",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@*(%@-%@+(int)(ceilf(%@/7)));",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@^%@-%@+(int)(ceilf(%@<<2));",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@^%@^%@+(int)(floorf(%@/9));",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@^%@-(int)(floorf(%@+%@<<1));",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   
                   [NSString stringWithFormat:@"%@=%d;%@=%@^23-(int)((floorf(%@|7)<<1));",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@^%d-(%@|%d<<1);",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,arc4random_uniform(100)+1,MIX_NAME,arc4random_uniform(99)+1],
                   [NSString stringWithFormat:@"%@=%d;%@=(68|%@)^23-(%@|7<<1);",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=(88&%@)*81-(%@|5<<1);",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;%@=%@&%@+(%@|20)*2;",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;for(int i=0;i<%@;i++){%@+=i;}",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;for(int i=0;i<%@;i++){%@-=i;}",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;for(int i=0;i<%@;i++){%@*=i;}",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;for(int i=1;i<=%@;i++){%@/=i;}",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;for(int i=0;i<%@;i++){%@+=i;%@+=%d;}",MIX_NAME,arc4random_uniform(99),MIX_NAME,MIX_NAME,MIX_NAME,arc4random_uniform(99)+1],
                   [NSString stringWithFormat:@"%@=%d;for(int i=0;i<%@;i++){%@+=i;%@-=%d;}",MIX_NAME,arc4random_uniform(99),MIX_NAME,MIX_NAME,MIX_NAME,arc4random_uniform(99)+1],
                   [NSString stringWithFormat:@"%@=%d;for(int i=0;i<%@;i++){%@+=i;%@*=%d;}",MIX_NAME,arc4random_uniform(99),MIX_NAME,MIX_NAME,MIX_NAME,arc4random_uniform(99)+1],
                   [NSString stringWithFormat:@"%@=%d;for(int i=0;i<%@;i++){%@+=i;%@/=%d;}",MIX_NAME,arc4random_uniform(99),MIX_NAME,MIX_NAME,MIX_NAME,arc4random_uniform(99)+1],
                   [NSString stringWithFormat:@"%@=%d;for(int i=0;i<%@;i++){%@=i|%@;}",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;for(int i=0;i<%@;i++){%@=i|%@+%d;}",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,arc4random_uniform(99)],
                   [NSString stringWithFormat:@"%@=%d;for(int i=0;i<%d;i++){%@=i|%@+%d;}",MIX_NAME,arc4random_uniform(99)+1,arc4random_uniform(49)+1,MIX_NAME,MIX_NAME,arc4random_uniform(99)+1],
                   [NSString stringWithFormat:@"%@=%d;for(int i=0;i<%d;i++){%@=i|%@+%d;}",MIX_NAME,arc4random_uniform(99),arc4random_uniform(49)+1,MIX_NAME,MIX_NAME,arc4random_uniform(99)+1],
                   [NSString stringWithFormat:@"%@=%d;for(int i=0;i<%d;i++){%@=i|%@-%d;}",MIX_NAME,arc4random_uniform(99),arc4random_uniform(49)+1,MIX_NAME,MIX_NAME,arc4random_uniform(99)+1],
                   [NSString stringWithFormat:@"%@=%d;for(int i=0;i<%d;i++){%@=i|%@*%d;}",MIX_NAME,arc4random_uniform(99),arc4random_uniform(49)+1,MIX_NAME,MIX_NAME,arc4random_uniform(99)+1],
                   [NSString stringWithFormat:@"%@=%d;for(int i=0;i<%d;i++){%@=i|%@/%d;}",MIX_NAME,arc4random_uniform(99),arc4random_uniform(49)+1,MIX_NAME,MIX_NAME,arc4random_uniform(99)+1],
                   [NSString stringWithFormat:@"%@=%d;for(int i=0;i<%d;i++){%@=i+%@+%d;}",MIX_NAME,arc4random_uniform(99),arc4random_uniform(49)+1,MIX_NAME,MIX_NAME,arc4random_uniform(99)+1],
                   [NSString stringWithFormat:@"%@=%d;for(int i=0;i<%d;i++){%@=i*%@+%d;}",MIX_NAME,arc4random_uniform(99),arc4random_uniform(49)+1,MIX_NAME,MIX_NAME,arc4random_uniform(99)+1],
                   [NSString stringWithFormat:@"%@=%d;for(int i=1;i<%d;i++){%@=i/%@+%d;}",MIX_NAME,arc4random_uniform(99),arc4random_uniform(49)+1,MIX_NAME,MIX_NAME,arc4random_uniform(99)+1],
                   [NSString stringWithFormat:@"%@=%d;for(int i=0;i<%@;i++){%@=i&%@;}",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;for(int i=1;i<%@;i++){%@=i<<1;%@*=i;}",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME],
                   [NSString stringWithFormat:@"%@=%d;for(int i=0;i<%@;i++){%@+=i;%@=%@^%@;}",MIX_NAME,arc4random_uniform(99)+1,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME,MIX_NAME],
                   
                   ];
    return arr[arc4random_uniform([arr count])];
}



//随机生成字符串
+(NSString *)FUNCTION_MIX_STRING:(NSString*)MIX_NAME{
    NSString*name;
    NSUInteger r = arc4random_uniform(10);
    for (int i=1; i<=r; i++) {
        NSString *MID=[self APPLICATION_BASIS_LETTER][arc4random_uniform([[self APPLICATION_BASIS_LETTER] count])];
        name=[NSString stringWithFormat:@"%@%@",name,MID];
    }
    return [NSString stringWithFormat:@"%@=@\"%@\"",MIX_NAME,name];
     
}
//随机生成宏名
+(NSString *)arc4random_define_name{
     NSString *name=@"";
    NSString *HEAD=[self APPLICATION_CLASS_NAME][arc4random_uniform([[self APPLICATION_CLASS_NAME] count])];
    name=[NSString stringWithFormat:@"%@%@",name,HEAD];
    for (int i=1; i<=8; i++) {
        NSString *MID=[self APPLICATION_BASIS_LETTER][arc4random_uniform([[self APPLICATION_BASIS_LETTER] count])];
        name=[NSString stringWithFormat:@"%@%@",name,MID];
    }
    return name;
}
//随机生成类名
+(NSString *)arc4random_class_name{
    
    NSString *one=[self APPLICATION_CLASS_NAME][arc4random_uniform([[self APPLICATION_CLASS_NAME] count])];
    NSString *two=[self APPLICATION_PARAMETER_NAME][arc4random_uniform([[self APPLICATION_PARAMETER_NAME] count])];
    NSString *three=[self APPLICATION_PARAMETER_NAME][arc4random_uniform([[self APPLICATION_PARAMETER_NAME] count])];
    NSString *four=[self APPLICATION_PARAMETER_NAME][arc4random_uniform([[self APPLICATION_PARAMETER_NAME] count])];

    return [NSString stringWithFormat:@"%@%@%@%@",one,two,three,four];

}
//随机生成方法名
+(NSString *)arc4random_function_name{
    NSString *name=@"";
    NSString *HEAD=[self APPLICATION_FUNCTION_NAME][arc4random_uniform([[self APPLICATION_FUNCTION_NAME] count])];
    name=[NSString stringWithFormat:@"%@%@",name,HEAD];
    NSUInteger r = arc4random_uniform(4);
    for (int i=4; i>0; i--) {
        NSString *MID=[self APPLICATION_PARAMETER_NAME][arc4random_uniform([[self APPLICATION_PARAMETER_NAME] count])];
         name=[NSString stringWithFormat:@"%@%@",name,MID];
    }
    return name;
    
}
//随机生成参数名
+(NSString *)arc4random_prameter_name{
    NSString *name=@"";
    for (int i=2; i>0; i--) {
        NSString *par=[self APPLICATION_FUNCTION_NAME][arc4random_uniform([[self APPLICATION_FUNCTION_NAME] count])];
        name=[NSString stringWithFormat:@"%@%@",name,par];
    }
    return name;
    
}

//随机生成数字类型的混淆代码模版
+(NSString*)arc4random_confusionCode_template:(NSString*)parameter type:(NSString*)type{
    if([type isEqualToString:@"NSString"]){
        return [self FUNCTION_MIXCONFUSION_NSSTRING:parameter];
    }else if([type isEqualToString:@"double"]){
        return [self FUNCTION_MIX_DOUBLE:parameter];
    }else if([type isEqualToString:@"float"]){
        return [self FUNCTION_MIX_FLOAT:parameter];
    }else if([type isEqualToString:@"BOOL"]){
        return [self FUNCTION_MIXCONCUSION_BOOL:parameter];
    }else
        return [self FUNCTION_MIXCONFUSION_INT:parameter];
}


@end
